﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IDEAMS.model.alarm
{
    public class AlarmInfoViewModel : ViewModelBase
    {

        public AlarmInfoViewModel() { }

        public AlarmInfoViewModel(AlarmInfo info)
        {
            this.key = info.key;
            this.serialNo = info.serialNo;
            this.channelNo = info.channelNo;
            this.gratingNo = info.gratingNo;
            this.startTime = info.startTime;
            this.endTime = info.endTime;
            this.step = info.step;
            this.maxDiff = info.maxDiff;
            this.description = info.description;
            this.type = info.type;
        }

        private string m_key;
        public string key
        {
            get { return m_key; }
            set
            {
                m_key = value;
                NotifyPropertyChanged();
            }
        }

        private string m_serialNo;
        public string serialNo
        {
            get { return m_serialNo; }
            set
            {
                m_serialNo = value;
                NotifyPropertyChanged();
            }
        }

        private int m_channelNo;
        public int channelNo
        {
            get { return m_channelNo; }
            set
            {
                m_channelNo = value;
                NotifyPropertyChanged();
            }
        }

        private int m_gratingNo;
        public int gratingNo
        {
            get { return m_gratingNo; }
            set
            {
                m_gratingNo = value;
                NotifyPropertyChanged();
            }
        }

        private AlarmType m_type;
        public AlarmType type
        {
            get { return m_type; }
            set
            {
                m_type = value;
                NotifyPropertyChanged();
            }
        }

        private DateTime m_startTime;
        public DateTime startTime
        {
            get { return m_startTime; }
            set
            {
                m_startTime = value;
                NotifyPropertyChanged();
            }
        }

        private DateTime m_endTime;
        public DateTime endTime
        {
            get { return m_endTime; }
            set
            {
                m_endTime = value;
                NotifyPropertyChanged();
            }
        }

        private double m_maxDiff;
        public double maxDiff
        {
            get { return m_maxDiff; }
            set
            {
                m_maxDiff = value;
                NotifyPropertyChanged();
            }
        }

        private ProcessStep m_step;
        public ProcessStep step
        {
            get { return m_step; }
            set
            {
                m_step = value;
                NotifyPropertyChanged();
            }
        }

        private string m_description;
        public string description
        {
            get { return m_description; }
            set
            {
                m_description = value;
                NotifyPropertyChanged();
            }
        }
    }
}
